package modules.lock.producers3;


/**
 * Lock的
 * 生产者和消费者 - 等待唤醒、通知唤醒
 * 线程之间通信
 * 两个线程，一个执行增变量，一个执行减变量，他们之间交替变换
 * @author shengren.yan
 * @create 2021-03-06
 */
public class ProSychronized4 {

    public static void main(String[] args) {
        // Lock的生产者和消费
        Ticket4 ticke = new Ticket4();
        // 线程A执行 +操作   B执行 -操作
        new Thread(()->{ for (int i=0;i<=10;i++){ ticke.increment(); } },"线程A").start();
        new Thread(()->{ for (int i=0;i<=10;i++){ ticke.decrement(); } },"线程B").start();
        new Thread(()->{ for (int i=0;i<=10;i++){ ticke.increment(); } },"线程C").start();
        new Thread(()->{ for (int i=0;i<=10;i++){ ticke.decrement(); } },"线程D").start();

    }

}
